<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 一、字符串的解构 
        // let str = "abc";
        // console.log( str[3]);
        // console.log(str.length);
        // str[1] = "z";  // 不能给字符串赋值；
        // console.log(str);
        // let [a,b,c] = str;  // 字符串的解构 也是通过数组来解构；
        // console.log(a,b,c);

        // 二、默认值 
        // 1.解构赋值的默认值 
        // var arr = ["张三","李四"];
        // // let [name1,name2,name3] = arr;
        // // 在解构的同时 设置默认值 ，如果没有解构出来就按照默认值赋值；
        // let [name1="默认名字1",name2="默认名字2",name3="默认名字3"] = arr;
        // console.log(name1,name2,name3);

        // var obj = {
        //     name:"张三",
        //     // age:22
        // }
        // 如果解构不出来内容，就会按照默认值给；
        // let {name:myname,age:myage=20} = obj;

        // console.log(myname,myage);
        // let {name,age=20} = obj;
        // console.log(name,age);

        // 2.函数参数的默认值；
        // ES5: 函数参数的默认值 ；
        // function fn(a,b){
        //     var a = a || 10;
        //     var b = b || 20
        //     console.log(a,b);

        // }

        // fn(1,0);

        // ES6 默认参数
        // a 的默认值是10  b的默认值是20
        // function fn(a=10,b=20){
        //     console.log(a,b);
        // }

        // fn(1,0);

        // 解构赋值的默认值

        // function fn([a=10,b=20]){
        //     console.log(a,b)
        // }

        // fn([1,2])



    </script>
</body>
</html>